This is my proposed draft for a data model for BetterGEDCOM (BG). This model is
not complete as I intend to document just some of the entity types in each update to this page. This first part just examines the "real world" and leaves the sources, citations and assertions, etc of genealogy / family history / evidence management until later. Note that my experience of the entities in evidence management, conclusions, etc is limited so that will be the weakest area.
Firstly, some comments on the mechanics of my data modelling. These are the terms I use in data modelling:
- Entity Types - the types of things that we talk about;
- Entities - the actual, individual things that we talk about;
- Attributes - the properties of the entities;
- Relationships - the ways in which entities may be linked.
The terms "Entity" and "Entity Type" are a bit flaky and Entity is sometimes used vice Entity Type, but strictly the overall type is the "Entity Type", and the individuals are the Entities (e.g. "Entity Type" = spaceship, "Entity" = NCC1701E USS Enterprise).
Relationships have numbers associated with them - for instance, one person
may be biological mother to
many children - this is a relationship in the IT sense. In the opposite direction, each child
must have one and only
one biological mother. (Let's not worry here about how we document it in genealogy when we don't know all the facts - I'm just using the biological truth as an illustration). This is a one-to-many (or many-to-one if you look in the opposite direction) relationship - with a degree of optionality since while every child has a biological mother, not every person is a biological mother.
Data Modelling comes up with one-to-one, one-to-many (or many-to-one) and many-to-many relationships. Adepts in data modelling will know that data modellers refine their models to eliminate many-to-many relationships by introducing new entity types. However, this is a logical model and so I have deliberately not eliminated my many-to-many relationships. Well, not yet.
Note also that I mention only a few attributes for each entity type and that I have not added in attributes that document relationships. Yet.
The model does attempt to incorporate the ability to
distinguish between evidence and conclusions and I am especially indebted to Tom Wetmore for his thoughts on what I need. Any resulting issues, however, are mine.
This is the list (so far) of my entity types:
PERSON
EVENT
CHARACTERISTIC
GROUP
LOCATION
The above list describes the real world that we investigate in family history - not how we do family history.